package com.cw.jeeyt.service.intf.process;

import java.util.List;

import com.cw.jeeyt.common.Order;
import com.cw.jeeyt.service.bo.process.ActDeModelHistoryBo;
import com.cw.lang.mybatis.dto.PageInfo;

/**
 * 流程定义历史业务接口
 *
 * @author chenw
 * @date 2019-03-10 21:47:04
 */
public interface ActDeModelHistoryService {
    /**
     * 查询所有流程定义历史列表信息
     */
    List<ActDeModelHistoryBo> queryActDeModelHistoryList() throws Exception;

    /**
     * 删除流程定义历史
     *
     * @param actDeModelHistoryBo
     */
    void delete(ActDeModelHistoryBo actDeModelHistoryBo) throws Exception;

    /**
     * 更新流程定义历史
     *
     * @param actDeModelHistoryBo
     */
    void update(ActDeModelHistoryBo actDeModelHistoryBo) throws Exception;

    /**
     * 更新流程定义历史不为空的字段
     *
     * @param actDeModelHistoryBo
     */
    void updateSelective(ActDeModelHistoryBo actDeModelHistoryBo) throws Exception;

    /**
     * 根据主键查询流程定义历史
     *
     * @return
     */
    ActDeModelHistoryBo getActDeModelHistoryById(String id) throws Exception;

    /**
     * 新增流程定义历史
     *
     * @param actDeModelHistoryBo
     * @return
     */
    Integer insert(ActDeModelHistoryBo actDeModelHistoryBo) throws Exception;

    /**
     * 新增流程定义历史不为空的字段
     *
     * @param actDeModelHistoryBo
     * @return
     */
    Integer insertSelective(ActDeModelHistoryBo actDeModelHistoryBo) throws Exception;

    /**
     * 分页查询流程定义历史
     *
     * @param actDeModelHistoryBo
     * @param startNum
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<ActDeModelHistoryBo> queryByPage(ActDeModelHistoryBo actDeModelHistoryBo, Integer startNum,
        Integer pageSize, Order order) throws Exception;
}
